package com.sl.mes.db.vo;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;

public class MmPmo {
    private String cpmohid;

    private String approver;

    private String approvertime;

    private String billmaker;

    private String cplanfactoryid;

    private String cplanfactoryvid;

    private String creationtime;

    private String creator;

    private String ctrantypeid;

    private String dbilldate;

    private String dmakedate;

    private String dr;

    private String fbillstatus;

    private String modifiedtime;

    private String modifier;

    private String pkGroup;

    private String pkOrg;

    private String pkOrgV;

    private String sagaBtxid;

    private String sagaFrozen;

    private String sagaGtxid;

    private String sagaStatus;

    private LocalDateTime ts;

    private String vbillcode;

    private String version;

    private String vnote;

    private String vtrantypecode;

    public String getCpmohid() {
        return cpmohid;
    }

    public void setCpmohid(String cpmohid) {
        this.cpmohid = cpmohid;
    }

    public String getApprover() {
        return approver;
    }

    public void setApprover(String approver) {
        this.approver = approver;
    }

    public String getApprovertime() {
        return approvertime;
    }

    public void setApprovertime(String approvertime) {
        this.approvertime = approvertime;
    }

    public String getBillmaker() {
        return billmaker;
    }

    public void setBillmaker(String billmaker) {
        this.billmaker = billmaker;
    }

    public String getCplanfactoryid() {
        return cplanfactoryid;
    }

    public void setCplanfactoryid(String cplanfactoryid) {
        this.cplanfactoryid = cplanfactoryid;
    }

    public String getCplanfactoryvid() {
        return cplanfactoryvid;
    }

    public void setCplanfactoryvid(String cplanfactoryvid) {
        this.cplanfactoryvid = cplanfactoryvid;
    }

    public String getCreationtime() {
        return creationtime;
    }

    public void setCreationtime(String creationtime) {
        this.creationtime = creationtime;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public String getCtrantypeid() {
        return ctrantypeid;
    }

    public void setCtrantypeid(String ctrantypeid) {
        this.ctrantypeid = ctrantypeid;
    }

    public String getDbilldate() {
        return dbilldate;
    }

    public void setDbilldate(String dbilldate) {
        this.dbilldate = dbilldate;
    }

    public String getDmakedate() {
        return dmakedate;
    }

    public void setDmakedate(String dmakedate) {
        this.dmakedate = dmakedate;
    }

    public String getDr() {
        return dr;
    }

    public void setDr(String dr) {
        this.dr = dr;
    }

    public String getFbillstatus() {
        return fbillstatus;
    }

    public void setFbillstatus(String fbillstatus) {
        this.fbillstatus = fbillstatus;
    }

    public String getModifiedtime() {
        return modifiedtime;
    }

    public void setModifiedtime(String modifiedtime) {
        this.modifiedtime = modifiedtime;
    }

    public String getModifier() {
        return modifier;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public String getPkGroup() {
        return pkGroup;
    }

    public void setPkGroup(String pkGroup) {
        this.pkGroup = pkGroup;
    }

    public String getPkOrg() {
        return pkOrg;
    }

    public void setPkOrg(String pkOrg) {
        this.pkOrg = pkOrg;
    }

    public String getPkOrgV() {
        return pkOrgV;
    }

    public void setPkOrgV(String pkOrgV) {
        this.pkOrgV = pkOrgV;
    }

    public String getSagaBtxid() {
        return sagaBtxid;
    }

    public void setSagaBtxid(String sagaBtxid) {
        this.sagaBtxid = sagaBtxid;
    }

    public String getSagaFrozen() {
        return sagaFrozen;
    }

    public void setSagaFrozen(String sagaFrozen) {
        this.sagaFrozen = sagaFrozen;
    }

    public String getSagaGtxid() {
        return sagaGtxid;
    }

    public void setSagaGtxid(String sagaGtxid) {
        this.sagaGtxid = sagaGtxid;
    }

    public String getSagaStatus() {
        return sagaStatus;
    }

    public void setSagaStatus(String sagaStatus) {
        this.sagaStatus = sagaStatus;
    }

    public LocalDateTime getTs() {
        return ts;
    }

    public void setTs(LocalDateTime ts) {
        this.ts = ts;
    }

    public String getVbillcode() {
        return vbillcode;
    }

    public void setVbillcode(String vbillcode) {
        this.vbillcode = vbillcode;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getVnote() {
        return vnote;
    }

    public void setVnote(String vnote) {
        this.vnote = vnote;
    }

    public String getVtrantypecode() {
        return vtrantypecode;
    }

    public void setVtrantypecode(String vtrantypecode) {
        this.vtrantypecode = vtrantypecode;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", cpmohid=").append(cpmohid);
        sb.append(", approver=").append(approver);
        sb.append(", approvertime=").append(approvertime);
        sb.append(", billmaker=").append(billmaker);
        sb.append(", cplanfactoryid=").append(cplanfactoryid);
        sb.append(", cplanfactoryvid=").append(cplanfactoryvid);
        sb.append(", creationtime=").append(creationtime);
        sb.append(", creator=").append(creator);
        sb.append(", ctrantypeid=").append(ctrantypeid);
        sb.append(", dbilldate=").append(dbilldate);
        sb.append(", dmakedate=").append(dmakedate);
        sb.append(", dr=").append(dr);
        sb.append(", fbillstatus=").append(fbillstatus);
        sb.append(", modifiedtime=").append(modifiedtime);
        sb.append(", modifier=").append(modifier);
        sb.append(", pkGroup=").append(pkGroup);
        sb.append(", pkOrg=").append(pkOrg);
        sb.append(", pkOrgV=").append(pkOrgV);
        sb.append(", sagaBtxid=").append(sagaBtxid);
        sb.append(", sagaFrozen=").append(sagaFrozen);
        sb.append(", sagaGtxid=").append(sagaGtxid);
        sb.append(", sagaStatus=").append(sagaStatus);
        sb.append(", ts=").append(ts);
        sb.append(", vbillcode=").append(vbillcode);
        sb.append(", version=").append(version);
        sb.append(", vnote=").append(vnote);
        sb.append(", vtrantypecode=").append(vtrantypecode);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        MmPmo other = (MmPmo) that;
        return (this.getCpmohid() == null ? other.getCpmohid() == null : this.getCpmohid().equals(other.getCpmohid()))
            && (this.getApprover() == null ? other.getApprover() == null : this.getApprover().equals(other.getApprover()))
            && (this.getApprovertime() == null ? other.getApprovertime() == null : this.getApprovertime().equals(other.getApprovertime()))
            && (this.getBillmaker() == null ? other.getBillmaker() == null : this.getBillmaker().equals(other.getBillmaker()))
            && (this.getCplanfactoryid() == null ? other.getCplanfactoryid() == null : this.getCplanfactoryid().equals(other.getCplanfactoryid()))
            && (this.getCplanfactoryvid() == null ? other.getCplanfactoryvid() == null : this.getCplanfactoryvid().equals(other.getCplanfactoryvid()))
            && (this.getCreationtime() == null ? other.getCreationtime() == null : this.getCreationtime().equals(other.getCreationtime()))
            && (this.getCreator() == null ? other.getCreator() == null : this.getCreator().equals(other.getCreator()))
            && (this.getCtrantypeid() == null ? other.getCtrantypeid() == null : this.getCtrantypeid().equals(other.getCtrantypeid()))
            && (this.getDbilldate() == null ? other.getDbilldate() == null : this.getDbilldate().equals(other.getDbilldate()))
            && (this.getDmakedate() == null ? other.getDmakedate() == null : this.getDmakedate().equals(other.getDmakedate()))
            && (this.getDr() == null ? other.getDr() == null : this.getDr().equals(other.getDr()))
            && (this.getFbillstatus() == null ? other.getFbillstatus() == null : this.getFbillstatus().equals(other.getFbillstatus()))
            && (this.getModifiedtime() == null ? other.getModifiedtime() == null : this.getModifiedtime().equals(other.getModifiedtime()))
            && (this.getModifier() == null ? other.getModifier() == null : this.getModifier().equals(other.getModifier()))
            && (this.getPkGroup() == null ? other.getPkGroup() == null : this.getPkGroup().equals(other.getPkGroup()))
            && (this.getPkOrg() == null ? other.getPkOrg() == null : this.getPkOrg().equals(other.getPkOrg()))
            && (this.getPkOrgV() == null ? other.getPkOrgV() == null : this.getPkOrgV().equals(other.getPkOrgV()))
            && (this.getSagaBtxid() == null ? other.getSagaBtxid() == null : this.getSagaBtxid().equals(other.getSagaBtxid()))
            && (this.getSagaFrozen() == null ? other.getSagaFrozen() == null : this.getSagaFrozen().equals(other.getSagaFrozen()))
            && (this.getSagaGtxid() == null ? other.getSagaGtxid() == null : this.getSagaGtxid().equals(other.getSagaGtxid()))
            && (this.getSagaStatus() == null ? other.getSagaStatus() == null : this.getSagaStatus().equals(other.getSagaStatus()))
            && (this.getTs() == null ? other.getTs() == null : this.getTs().equals(other.getTs()))
            && (this.getVbillcode() == null ? other.getVbillcode() == null : this.getVbillcode().equals(other.getVbillcode()))
            && (this.getVersion() == null ? other.getVersion() == null : this.getVersion().equals(other.getVersion()))
            && (this.getVnote() == null ? other.getVnote() == null : this.getVnote().equals(other.getVnote()))
            && (this.getVtrantypecode() == null ? other.getVtrantypecode() == null : this.getVtrantypecode().equals(other.getVtrantypecode()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getCpmohid() == null) ? 0 : getCpmohid().hashCode());
        result = prime * result + ((getApprover() == null) ? 0 : getApprover().hashCode());
        result = prime * result + ((getApprovertime() == null) ? 0 : getApprovertime().hashCode());
        result = prime * result + ((getBillmaker() == null) ? 0 : getBillmaker().hashCode());
        result = prime * result + ((getCplanfactoryid() == null) ? 0 : getCplanfactoryid().hashCode());
        result = prime * result + ((getCplanfactoryvid() == null) ? 0 : getCplanfactoryvid().hashCode());
        result = prime * result + ((getCreationtime() == null) ? 0 : getCreationtime().hashCode());
        result = prime * result + ((getCreator() == null) ? 0 : getCreator().hashCode());
        result = prime * result + ((getCtrantypeid() == null) ? 0 : getCtrantypeid().hashCode());
        result = prime * result + ((getDbilldate() == null) ? 0 : getDbilldate().hashCode());
        result = prime * result + ((getDmakedate() == null) ? 0 : getDmakedate().hashCode());
        result = prime * result + ((getDr() == null) ? 0 : getDr().hashCode());
        result = prime * result + ((getFbillstatus() == null) ? 0 : getFbillstatus().hashCode());
        result = prime * result + ((getModifiedtime() == null) ? 0 : getModifiedtime().hashCode());
        result = prime * result + ((getModifier() == null) ? 0 : getModifier().hashCode());
        result = prime * result + ((getPkGroup() == null) ? 0 : getPkGroup().hashCode());
        result = prime * result + ((getPkOrg() == null) ? 0 : getPkOrg().hashCode());
        result = prime * result + ((getPkOrgV() == null) ? 0 : getPkOrgV().hashCode());
        result = prime * result + ((getSagaBtxid() == null) ? 0 : getSagaBtxid().hashCode());
        result = prime * result + ((getSagaFrozen() == null) ? 0 : getSagaFrozen().hashCode());
        result = prime * result + ((getSagaGtxid() == null) ? 0 : getSagaGtxid().hashCode());
        result = prime * result + ((getSagaStatus() == null) ? 0 : getSagaStatus().hashCode());
        result = prime * result + ((getTs() == null) ? 0 : getTs().hashCode());
        result = prime * result + ((getVbillcode() == null) ? 0 : getVbillcode().hashCode());
        result = prime * result + ((getVersion() == null) ? 0 : getVersion().hashCode());
        result = prime * result + ((getVnote() == null) ? 0 : getVnote().hashCode());
        result = prime * result + ((getVtrantypecode() == null) ? 0 : getVtrantypecode().hashCode());
        return result;
    }

    /**
     * This enum was generated by MyBatis Generator.
     * This enum corresponds to the database table mm_pmo
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public enum Column {
        cpmohid("cpmohid", "cpmohid", "CHAR", false),
        approver("approver", "approver", "VARCHAR", false),
        approvertime("approvertime", "approvertime", "VARCHAR", false),
        billmaker("billmaker", "billmaker", "VARCHAR", false),
        cplanfactoryid("cplanfactoryid", "cplanfactoryid", "VARCHAR", false),
        cplanfactoryvid("cplanfactoryvid", "cplanfactoryvid", "VARCHAR", false),
        creationtime("creationtime", "creationtime", "CHAR", false),
        creator("creator", "creator", "VARCHAR", false),
        ctrantypeid("ctrantypeid", "ctrantypeid", "VARCHAR", false),
        dbilldate("dbilldate", "dbilldate", "CHAR", false),
        dmakedate("dmakedate", "dmakedate", "CHAR", false),
        dr("dr", "dr", "VARCHAR", false),
        fbillstatus("fbillstatus", "fbillstatus", "VARCHAR", false),
        modifiedtime("modifiedtime", "modifiedtime", "VARCHAR", false),
        modifier("modifier", "modifier", "VARCHAR", false),
        pkGroup("pk_group", "pkGroup", "VARCHAR", false),
        pkOrg("pk_org", "pkOrg", "VARCHAR", false),
        pkOrgV("pk_org_v", "pkOrgV", "VARCHAR", false),
        sagaBtxid("saga_btxid", "sagaBtxid", "VARCHAR", false),
        sagaFrozen("saga_frozen", "sagaFrozen", "VARCHAR", false),
        sagaGtxid("saga_gtxid", "sagaGtxid", "VARCHAR", false),
        sagaStatus("saga_status", "sagaStatus", "VARCHAR", false),
        ts("ts", "ts", "TIMESTAMP", false),
        vbillcode("vbillcode", "vbillcode", "VARCHAR", false),
        version("version", "version", "VARCHAR", false),
        vnote("vnote", "vnote", "VARCHAR", false),
        vtrantypecode("vtrantypecode", "vtrantypecode", "VARCHAR", false);

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private static final String BEGINNING_DELIMITER = "`";

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private static final String ENDING_DELIMITER = "`";

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private final String column;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private final boolean isColumnNameDelimited;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private final String javaProperty;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private final String jdbcType;

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String value() {
            return this.column;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String getValue() {
            return this.column;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String getJavaProperty() {
            return this.javaProperty;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String getJdbcType() {
            return this.jdbcType;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
            this.column = column;
            this.javaProperty = javaProperty;
            this.jdbcType = jdbcType;
            this.isColumnNameDelimited = isColumnNameDelimited;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String desc() {
            return this.getEscapedColumnName() + " DESC";
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String asc() {
            return this.getEscapedColumnName() + " ASC";
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public static Column[] excludes(Column ... excludes) {
            ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
            if (excludes != null && excludes.length > 0) {
                columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
            }
            return columns.toArray(new Column[]{});
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table mm_pmo
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String getEscapedColumnName() {
            if (this.isColumnNameDelimited) {
                return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
            } else {
                return this.column;
            }
        }
    }
}